Situationally-Aware Alerts

ABSTRACT

An electronic device that provides situationally-aware alerts determines to provide an alert output (such as haptic, audio, visual, and so on) via an output device, determines a movement pattern based on one or more signals from one or more sensors indicating information relating at least to movement of the electronic device, and adjusts the alert output to account for the movement pattern. In some implementations, the electronic device may adjust the alert output by delaying the alert output. In other implementations, the electronic device may adjust the alert output by altering the alert output to be discernible despite the movement pattern based on a cadence of the movement pattern. In still other implementations, the electronic device may determine to provide the alert output in response to receiving an incoming communication and may adjust the alert output differently based on a priority associated with the incoming communication.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a divisional of U.S. patent application Ser. No.16/015,367, filed Jun. 22, 2018, entitled “Situationally-Aware Alerts,”which is a continuation of U.S. patent application Ser. No. 15/641,192,filed Jul. 3, 2017, entitled “Situationally-Aware Alerts,” nowabandoned, which is a continuation of U.S. patent application Ser. No.15/251,459, filed Aug. 30, 2016, entitled “Situationally-Aware Alerts,”now U.S. Pat. No. 10,039,080, which claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Patent Application No. 62/303,964, filed onMar. 4, 2016, and entitled “Situationally-Aware Alerts,” the contents ofwhich are incorporated by reference as if fully disclosed herein.

FIELD

The described embodiments relate generally to alerts. More particularly,the present embodiments relate to adjusting alerts based on a user'ssituation.

BACKGROUND

Many electronic devices provide various notifications, alerts, or otheroutput to users. Such notifications may be visual, audio, haptic, and soon. For example, a smart phone that receives a communication such as acall or text or email message may indicate such on a screen, play a toneor other audio, and/or vibrate.

In general, notifications may be configured to be salient, ornoticeable, to a user without being overly disturbing to others. Forexample, a smart phone may present a visual indicator on a displayscreen as well as playing a tone for an incoming call. The tone mayassist the user in noticing the incoming call if the user is notcurrently looking at the display, but may be disturbing to others if theuser is in the context of a meeting or other scenario where audio isoverly noticeable.

SUMMARY

The present disclosure relates to electronic devices that providesituationally-aware alerts. An electronic device determines to providealert output (such as a vibration or other haptic output, audio output,visual output, and so on) via an output device, determines a movementpattern based on one or more signals from one or more sensors indicatinginformation relating at least to movement of the electronic device, andadjusts the alert output to account for the movement pattern. In someimplementations, the electronic device may adjust the alert output bydelaying the alert output. In other implementations, the electronicdevice may adjust the alert output by altering the alert output to bediscernible despite the movement pattern based on a cadence of themovement pattern. In still other implementations, the electronic devicemay determine to provide the alert output in response to receiving anincoming communication and may prioritize incoming communications byadjusting the alert output differently based on an associated priority.

In various embodiments, an electronic device that providessituationally-aware alerts includes a haptic output device, a sensoroperable to produce a signal indicating information relating to movementof the electronic device, and a processing unit connected to the sensorand the haptic output device. The processing unit is configured todetermine to provide a haptic output via the haptic output device,determine a movement pattern based on the signal, and adjust the hapticoutput to account for the movement pattern by delaying the hapticoutput.

In some examples, the movement pattern indicates changes in elevationand the processing unit delays the haptic output until changes inelevation cease. In various implementations of such examples, the sensorincludes a pressure sensor, the processing unit is configured todetermine that the movement pattern indicates the changes in elevationbased on the pressure sensor, and the processing unit is configured todelay the haptic output until the processing unit determines based onthe pressure sensor that the changes in elevation have ceased.

In various examples, the processing unit is configured to determine afirst period based on the movement pattern where the electronic devicewill be less proximate to a user (such as where the user is running andthe electronic device is in the user's pocket and moves in the pocketfurther from the user and closer to the user in the pocket at differentportions of the user's stride), determine a second period based on themovement pattern where the electronic device will be more proximate tothe user, and delay the haptic output from the first period to thesecond period. In other examples, the processing unit delays the hapticoutput for a first period when the movement pattern indicates a firsttype of movement and delays the haptic output for a second period whenthe movement pattern indicates a second type of movement.

In numerous examples, the signal includes information indicating a heartrate of a user is elevated and the processing unit delays the hapticoutput until the heart rate of the user reduces. In various examples,the processing unit estimates a time when the haptic output will besalient despite the movement and delays the haptic output until thetime.

In some embodiments, an electronic device that providessituationally-aware alerts includes a haptic output device, a sensoroperable to produce a signal indicating information relating to movementof the electronic device, and a processing unit connected to the sensorand the haptic output device. The processing unit is configured todetermine to provide a haptic output via the haptic output device,determine a movement pattern based on the signal, and adjust the hapticoutput to account for the movement pattern by altering the haptic outputto be discernible despite the movement pattern based on a cadence of themovement pattern.

In various examples, the processing unit is configured to adjust apattern of the haptic output to be mismatched with the cadence. Innumerous examples, the processing unit is configured to alter the hapticoutput by time shifting the haptic output to a pause in the cadence.

In some examples, the processing unit is configured to determine toprovide the haptic output in response to receiving an incomingcommunication, adjust the haptic output in a first manner when theincoming communication is associated with a first priority, and adjustthe haptic output in a second manner when the incoming communication isassociated with a second priority. In various examples, the processingunit is configured to alter the haptic output in a first manner when themovement pattern indicates a first type of movement and in a secondmanner when the movement pattern indicates a second type of movement. Innumerous examples, the processing unit is configured to prompt for anacknowledgement of the adjusted haptic output, determine theacknowledgement has not been received, and provide additional hapticoutput until the acknowledgement is received.

In numerous embodiments, an electronic device that providessituationally-aware alerts includes a non-transitory storage mediumstoring instructions; a haptic output device; a sensor operable toproduce a signal indicating information about a situation of a user ofthe electronic device; a communication component operable to receive anincoming communication associated with a priority; and a processing unitconnected to the sensor, the communication component, the haptic outputdevice, and the non-transitory storage medium. The processing unit isconfigured to execute the instructions to determine to provide a hapticoutput via the haptic output device in response to receiving theincoming communication; determine a movement pattern based on thesignal; and adjust the haptic output to account for the movement patternby delaying the haptic output when the incoming communication isassociated with a first priority and by altering the haptic output to bediscernible despite the movement pattern based on a cadence of themovement pattern when the incoming communication is associated with asecond priority.

In various examples, the electronic device that providessituationally-aware alerts further includes an output device other thanthe haptic output device wherein the processing unit is configured toprovide an output via the output device in addition to the hapticoutput. In some implementations of such examples, the output is at leastone of visual output or audio output.

In numerous examples, the processing unit is configured to communicatewith an additional electronic device and the processing unit signals theadditional electronic device to produce output in addition to the hapticoutput. In various examples, the processing unit is configured tocommunicate with an additional electronic device and the processing unitevaluates the situation of the user by receiving data indicating astatus of the additional electronic device that affects the situation ofthe user.

In some examples, the first and second priorities are based on at leastone of a source of the incoming communication, a priority indicatorincluded in the incoming communication, or a type of the incomingcommunication. In various examples, the first and second priorities areuser assigned.

BRIEF DESCRIPTION OF THE DRAWINGS

The disclosure will be readily understood by the following detaileddescription in conjunction with the accompanying drawings, wherein likereference numerals designate like structural elements.

FIG. 1 is depicts an example system for providing situationally-awarealert output.

FIG. 2 depicts a block diagram illustrating sample components of thesystem of FIG. 1 and sample functional relationships among thosecomponents.

FIG. 3 is a flow chart illustrating a first example method for providingsituationally-aware alert output. This first example method may beperformed by the example system of FIGS. 1-2.

FIG. 4 is a flow chart illustrating a second example method forproviding situationally-aware alert output. This second example methodmay be performed by the example system of FIGS. 1-2.

FIG. 5 is a flow chart illustrating a third example method for providingsituationally-aware alert output. This third example method may beperformed by the example system of FIGS. 1-2.

FIG. 6 is a flow chart illustrating a fourth example method forproviding situationally-aware alert output. This fourth example methodmay be performed by the example system of FIGS. 1-2.

FIG. 7 is a flow chart illustrating a fifth example method for providingsituationally-aware alert output. This fifth example method may beperformed by the example system of FIGS. 1-2.

DETAILED DESCRIPTION

Reference will now be made in detail to representative embodimentsillustrated in the accompanying drawings. It should be understood thatthe following descriptions are not intended to limit the embodiments toone preferred embodiment. To the contrary, it is intended to coveralternatives, modifications, and equivalents as can be included withinthe spirit and scope of the described embodiments as defined by theappended claims.

The description that follows includes sample systems, apparatuses,methods, and computer program products that embody various elements ofthe present disclosure. However, it should be understood that thedescribed disclosure may be practiced in a variety of forms in additionto those described herein.

Notifications and other output provided by an electronic device may bethwarted if they are not salient to a user. The situation in which auser is in (e.g., activities the user is performing, activities going onaround the user, a location where the user is, and so on) may affect thesalience of a notification. For example, movement of a user may decreasethe salience of a vibration or other notification related output. By wayof another example, a user may be located in a highly distractingenvironment (high noise level and so on) and/or engaged in otheractivities that decreases the salience of such a vibration. In yetanother example, a user's cognitive state may affect perceived salience.When the user is engaged in a highly demanding cognitive task, when theuser's attention is focused away from the electronic device, and so on,the user's absorbed cognitive state may reduce perceived salience of avibration or other notification related output.

Larger actuators or other output components may be used, and/or largeramounts of power may be provided to actuators or other outputcomponents, in order to increase the salience of vibrations despite auser's situation. However, these sorts of solutions may still not ensurethat a user notices a notification or other output and may not befeasible given space, power, and/or other electronic device constraints.

Further, the situation in which a user is in may make the salience of avibration or other notification related output too noticeable. Soundrelated to a vibration provided by an electronic device may be salientto people other than the user in a meeting or other situation wheresound is particularly noticeable. This may be exacerbated if theelectronic device is on a surface such as a table that may amplify thevibration. In such a situation, it may be desirable to decrease thesalience of the vibration such that it is still noticeable by the userbut not others, or to prevent the notification from being annoyinglystrong to the user. Efforts such as larger actuators or other outputcomponents and/or larger amounts of power discussed above to ensuresalience in situations that decrease salience may further exacerbatethese issues if increased salience is not necessary.

The following disclosure relates to an electronic device that adjustsalert output based on a user's situation in order to increase salienceof the alert output when the user's situation merits increased salience.The alert output may be vibrations or other haptic output, visualoutput, audio output, and so on. Adjusting the alert output may includedelaying the alert output, altering one or more parameters of the alertoutput (such as amplitude of a vibration, frequency of a vibration, andso on), and so on. The electronic device may determine to provide analert output, evaluate the user's situation based on information fromone or more sensors, and increase salience by adjusting the alert outputbased on the user's situation.

In some embodiments, the alert output may be haptic output andincreasing salience may include providing output via an output deviceother than and/or in addition to the haptic output. For example, theelectronic device may provide an audio or visual output instead ofand/or in addition to the haptic output if the electronic deviceevaluates the user's situation to affect salience of the haptic outputtoo adversely.

In various embodiments, increasing salience may include signalinganother electronic device to provide the alert output and/or otheroutput rather than and/or in addition to the electronic device.Similarly, the sensor data the electronic device uses to evaluate theuser's situation may be received by the electronic device from otherelectronic devices with which the electronic device communicates.

In a particular embodiment, the electronic device may evaluate data fromone or more sensors to determine that the user is moving. The electronicdevice may evaluate the data to determine a movement pattern and adjustthe alert output to account for the movement pattern. In someimplementations, the electronic device may adjust the alert output bydelaying the alert output based on the movement pattern, such asdelaying until the user is no longer moving or the user's activity leveldeclines, delaying to when the electronic device will be more proximateto the user than another time, delaying different time periods based ondifferent types of movement, delaying until a time the electronic deviceestimates the alert output will be salient despite the movement, and soon. In other implementations, the electronic device may adjust the alertoutput by altering the alert output to be discernible despite themovement pattern based on a cadence of the movement pattern, such as bymismatching the alert output with a cadence of the movement pattern,altering the alert output in different manners based on different typesof movement, and so on.

In still other implementations, the electronic device may adjust thealert output to account for the movement pattern by delaying the alertoutput in some situations and altering the alert output to bediscernible despite the movement pattern based on a cadence of themovement pattern in other situations. For example, the electronic devicemay utilize priorities to prioritize some alerts over others. An alertoutput may be associated with a priority such as an urgency priority.The electronic device may delay the alert output if the priority is afirst priority and may alter the alert output if the priority is asecond priority.

By way of example, the alert output may be provided in response toreceiving an incoming communication. In such an example, the electronicdevice may include a list of contacts organized into differentpriorities such as very important (VIP) contacts and non-VIP contacts.The electronic device may adjust the alert output in a first way if thesource of the incoming communication is a VIP contact and in a secondway if the source of the incoming communication is a non-VIP contact. Inother implementations of such an example, the priority may be otherwisebe associated with a source of the communication, a priority indicatorincluded in the incoming communication, a type of the incomingnotification, and so on.

In various embodiments, the electronic device may increase salience ofthe alert output by prompting for an acknowledgement of the alertoutput. If the acknowledgement is not received, such as after a periodof time after providing a prompt, the alert output may be providedagain. In some implementations, the alert output may be providedrepeatedly until acknowledged.

These and other embodiments are discussed below with reference to FIGS.1-7. However, those skilled in the art will readily appreciate that thedetailed description given herein with respect to these Figures is forexplanatory purposes only and should not be construed as limiting.

FIG. 1 is depicts an example system 100 for providingsituationally-aware alert output. The system 100 includes an electronicdevice 101 that provides situationally-aware alerts. The electronicdevice 101 may determine (such as in response to receiving one or moreincoming communications) to provide alert output (such as vibrations orother haptic output, visual output, audio output, and so on), evaluate auser's 104 situation based on information from one or more sensors, andincrease salience by adjusting the alert output based on the user's 104situation.

Many different aspects of the user's 104 situation may affect salienceof the alert output. As such, the electronic device 101 may analyze avariety of different data in evaluating a variety of different aspectsof the user's 104 situation. Such aspects may involve ambient noiselevels, ambient light levels, the cognitive state of the user 104,motion of the user 104, health data of the user 104, whether or not theuser 104 is climbing stairs, whether or not the user 104 is driving, andso on. Such aspects may also involve activities the user is performingon other electronic devices with which the electronic device 101 maycommunicate, such as a first other electronic device 103 and a secondother electronic device 102 (such as typing on a keyboard 105 of thefirst other electronic device 103, playing music on the second otherelectronic device 102, and so on). The electronic device 101 may receivesignals from one or more different sensors indicating data theelectronic device 101 may use in evaluating the user's 104 situation.

In various implementations, such sensors may be components of theelectronic device 101. However, such sensors may also be components ofone or more other electronic devices with which the electronic device101 may communicate such as the first other electronic device 103 andthe second other electronic device 102.

The electronic device 101 may evaluate data from one or more sensors todetermine that the user is moving. The electronic device 101 mayevaluate the data to determine a movement pattern and adjust the alertoutput (such as by delaying the alert output, altering one or moreparameters of the alert output, and so on) to account for the movementpattern. In some implementations, the electronic device 101 may delaythe alert output based on the movement pattern. In otherimplementations, the electronic device may alter the alert output to bediscernible despite the movement pattern based on a cadence of themovement pattern. In still other implementations, the electronic device101 may adjust the alert output to account for the movement pattern bydelaying the alert output in some situations and altering the alertoutput to be discernible despite the movement pattern based on a cadenceof the movement pattern in other situations.

For example, incoming communications received by the electronic device101 may be prioritized with respect to other incoming communications. Invarious situations, incoming communications from some senders may beprioritized over other incoming communications from other senders,incoming communications associated with some applications may beprioritized over incoming communications associated with otherapplications, incoming communications having certain content may beprioritized over incoming communications having other content, and soon.

By way of example, the electronic device 101 may determine to provide analert output in response to receiving an incoming communication that isassociated with a priority according to a source of the incomingcommunication. The electronic device 101 may delay the alert output ifthe priority is a first priority and may alter the alert output and/orprovide the alert output if the priority is a second priority. Althoughthis example is described using first and second priorities, it isunderstood that this is an illustration. In various examples, prioritymay vary continuously and handling of corresponding alerts may also varycontinuously.

In various implementations, the electronic device 101 may includedifferent profiles for providing situationally-aware alert output indifferent situations. For example, the electronic device 101 may beconfigured for the user 104 to increase salience differently when theuser 104 is working, at home during waking hours, at home duringsleeping hours, driving, and so on. For each situation, the differentprofiles may specify how salience of alert outputs is to be determined,when to increase salience, how to increase salience, and so on. Suchprofiles may be specified by the user 104, configured by default for theuser 104, and so on.

Although the electronic device 101 is described above as providing thealert output, it is understood that this is an example. In someimplementations, the electronic device 101 may signal one or more of thefirst other electronic device 103 and the second other electronic device102 based on evaluation of the user's 104 situation to provide alertoutput and/or other output (such as visual output, audio output, and soon) instead of and/or addition to the electronic device 101 providingthe alert output.

Further, although the electronic device 101 is illustrated as a smartphone, the first other electronic device 103 is illustrated as a laptopcomputing device, and the second other electronic device 102 isillustrated as a wearable device, it is understood that these areexamples. In various implementations, the electronic device 101, thefirst other electronic device 103, and the second other electronicdevice 102 may be a variety of different electronic and/or other deviceswithout departing from the scope of the present disclosure.

FIG. 2 depicts a block diagram illustrating sample components of thesystem 100 of FIG. 1 and sample functional relationships among thosecomponents. The electronic device 101 may include one or more processingunits 210, one or more sensors 211, one or more haptic output devices212, one or more non-transitory storage media 213, one or morecommunication components 214, and so on.

The processing unit 210 may execute instructions stored in thenon-transitory storage media 213 to perform a variety of differentfunctions. For example, the processing unit 210 may execute suchinstructions to receive one or more signals from the one or more sensors211, communicate with the first other electronic device 103 and/or thesecond other electronic device 102 via the communication component 214,provide haptic output via the haptic output device 212, and so on. Theprocessing unit 210 may also execute the instructions to perform variousmethods of providing situationally aware haptic output. Such methods mayinvolve determining to provide a haptic output, evaluate a user'ssituation based on information from the one or more sensors 211, andincreasing salience by adjusting the haptic output based on the user'ssituation.

The haptic output devices 212 may be one or more actuators or othervibration producing components. The non-transitory storage media 213 maytake the form of, but is not limited to, a magnetic storage medium;optical storage medium; magneto-optical storage medium; read onlymemory; random access memory; erasable programmable memory; flashmemory; and so on. The communication components 214 may be one or morecellular antennas, WiFi antennas, Bluetooth antennas, and so on.

The one or more sensors 211 may be one or more of a variety of differentsensors. Such sensors may include, but are not limited to, one or moreaccelerometers, gyroscopes, global positioning system (GPS) or othernavigation system components, communication components (such as bytracking WiFi network handoffs, cellular handoffs, and/or other eventsof various communication networks with or without other associatedinformation such as GPS data associated with network components),compasses, magnetometers, hall effect sensors, barometric or otherpressure sensors, cameras, microphones, image sensors, inertial sensors,barometers, health sensors (such as photoplethysmogram sensors that maybe used to determine a heart rate of the user and/or other informationregarding the body of the user), touch pressure sensors, sensors thatmonitor a user's cognitive state (such as one or more heart ratesensors, eye movement sensors, galvanic skin response sensors, sensorsthat monitor use and activity on one or more other devices, and so on),combinations thereof, and so on. The communication components may beused to obtain sensor data by utilizing data from the communicationcomponents to track WiFi network handoffs, cellular handoffs, and/orother events of various communication networks with or without otherassociated information such as GPS data associated with networkcomponents.

Similarly, the first other electronic device 103 may include one or moreprocessing units 220, one or more sensors 221, one or more haptic outputdevices 222, one or more non-transitory storage media 223, one or morecommunication components 224, and so on. Likewise, the second otherelectronic device 102 may include one or more processing units 215, oneor more sensors 216, one or more haptic output devices 217, one or morenon-transitory storage media 218, and one or more communicationcomponents 219.

Although FIG. 2 is illustrated and described above as including a hapticoutput device 212 and providing situationally aware haptic output, it isunderstood that this is an example. In various implementations, otherkinds of situationally aware alert output may be provided. Such alertoutput may include audio output, video output, and so on.

FIG. 3 is a flow chart illustrating a first example method 300 forproviding situationally-aware alert output. This first example method300 may be performed by the example system 100 of FIGS. 1-2.

The flow begins at block 310 where an electronic device operates. Theflow then proceeds to block 320 where the electronic device determineswhether or not to provide an alert output (such as a vibration or otherhaptic output, audio output, visual output, and so on). The electronicdevice may determine to provide an alert output in response to receivingan incoming communication (such as an email, a text message, a socialmedia communication, a telephone call, and so on), in response totriggering of a reminder such as a calendar or other schedule reminder,based on the status of a resource such as a battery power level fallingbelow a threshold level or a change in a connection to a communicationnetwork, based on a status change of an executing application such asthe completion of a download, and/or any other event for which theelectronic device determines to provide a notification or other outputto a user. If so, the flow proceeds to block 330. Otherwise, the flowreturns to block 310 where the electronic device continues to operate.

At block 330, the electronic device evaluates the user's situationbefore proceeding to block 340. The electronic device may evaluate dataregarding a variety of different aspects of the user's situation from avariety of different sensors included the electronic device and/or otherelectronic devices with which the electronic device communicates.

For example, the electronic device may determine an ambient noise levelof the user's situation using one or more microphones. By way of anotherexample, the electronic device may determine an illumination level ofthe user's situation using one or more ambient light sensors or otherlight detectors.

By way of still another example, the electronic device may analyze datato determine a movement pattern of the user or other movementinformation using data from one or more accelerometers, gyroscopes, GPSor other navigation system components, communication components (such asby tracking WiFi network handoffs, cellular handoffs, and/or otherevents of various communication networks with or without otherassociated information such as GPS data associated with networkcomponents), compasses, magnetometers, hall effect sensors, barometricor other pressure sensors, cameras, microphones, image sensors, inertialsensors, barometers, health sensors (such as photoplethysmogram sensorsthat may be used to determine a heart rate of the user and/or otherinformation regarding the body of the user), touch pressure sensors,combinations thereof, and so on. The electronic device may determine avariety of information about the user's movement as part of determiningthe movement pattern such as a movement speed, a movement cadence,whether the use is changing elevation, an exertion level of the user, atype of the movement (e.g., jogging, running, walking, climbing stairs,bicycling, driving, riding in a car, and so on), and/or a variety ofother different information regarding the pattern of the user'smovement.

By way of still another example, the electronic device may receive acommunication from an associated device indicating that a user of theelectronic device is involved in a distracting activity using the otherelectronic device that may impact salience of the alert output. Forexample, the other electronic device may be playing audio or video, theuser may be typing on a keyboard and/or otherwise entering input on aninput device of the other electronic device, and so on. The electronicdevice may determine a distraction level of the user's situation basedon one or more communications from the other electronic device regardingsuch distracting activities that may impact salience of the alertoutput.

At block 340, the electronic device determines whether or not toincrease salience of the alert output based on the user's situation(such as by adjusting the alert output, which may include delaying thealert output, altering one or more parameters of the alert output, andso on). The electronic device may determine by evaluating the user'ssituation that the alert output will be salient as is and the salienceof the alert output should not be increased. Alternatively, theelectronic device determines by evaluating the user's situation that thealert output may not be salient as is (such as where the user'ssituation is too loud, too distracting, and so on) and the salience ofthe alert output should be increased. If so, the flow proceeds to block360. Otherwise, the flow proceeds to block 350.

At block 350, after the electronic device determines not to increase thesalience of the alert output, the electronic device provides the alertoutput. The flow then returns to block 310 where the electronic devicecontinues to operate.

At block 360, after the electronic device determines to increase thesalience of the alert output, the electronic device adjusts the alertoutput based on the user situation by delaying or altering the alertoutput. Such adjustment may include altering the time at which the alertoutput is provided (such as by delaying a period of time), altering oneor more parameters of the alert output (such as providing a differentwaveform to an actuator, altering an amplitude of a waveform provided toan actuator, altering a phase of a waveform provided to an actuator,increasing power provided to an actuator, and so on), providing otheroutput (such as visual, audio, and so on) instead of and/or in additionto the alert output, providing other alert output (which may havesimilar or different output characteristics than the alert output) viaan electronic device with which the electronic device communicatesinstead or and/or in addition to alert output the electronic device mayprovide, and so on.

The flow then proceeds to block 370 where the electronic device providesthe adjusted alert output based on the user's situation. The flow thenreturns to block 310 where the electronic device continues to operate.

For example, the alert output may be a haptic output. The electronicdevice may analyze data from one or more microphones to determine thatthe user is in a high noise environment. Such a high noise environmentmay reduce the possibility that the user will notice the haptic output.In response, the electronic device may increase a vibration amplitudeincluded in the haptic output to increase the salience of the hapticoutput in the high noise environment. Additionally or alternatively, theelectronic device may provide a different type of alert output such as avisual alert (e.g., flash a light emitting diode and so on).

By way of another example, the electronic device may analyze data fromaccelerometers, motion sensors, communication components, and/or othersensors and determine that the user is driving. The user may not noticehaptic output while driving. However, the user's vehicle may becommunicably connected to the electronic device and may be capable ofproviding vibrations or other haptic output via the steering wheel orother portion of the user's vehicle that the user touches while driving.As such, the electronic device may signal the user's vehicle to providehaptic output via the steering wheel or other portion instead of and/orin addition to the electronic device providing the haptic output.Additionally or alternatively, the electronic device may provide and/orsignal the user's vehicle to provide another type of alert, such asaudio through one or more speakers, visual indications through adisplay, and so on.

Although the example method 300 is illustrated and described asincluding particular operations performed in a particular order, it isunderstood that this is an example. In various implementations, variousorders of the same, similar, and/or different operations may beperformed without departing from the scope of the present disclosure.

For example, the example method 300 is illustrated and described asdetermining whether or not to increase salience of the haptic outputbased on the user's situation. However, in some implementations, theelectronic device may determine whether or not to decrease salience ofthe alert output based on the user's situation.

By way of example, the alert output may be a haptic output and theelectronic device may analyze data from GPS or other navigation sensorsand/or other sensors and so on to determine that the user is in a quietenvironment such as a meeting or a movie theater. Such a quietenvironment may allow the user to notice the haptic output, but maycause the haptic output to be undesirably noticeable to others. Inresponse, the electronic device may decrease a vibration amplitudeincluded in the haptic output to decrease the salience of the hapticoutput in the quiet environment so that the adjusted haptic output willstill be noticeable to the user but will not be undesirably noticeableto others or noticeable to others at all.

Alternatively, rather than altering the haptic output, the electronicdevice may delay the haptic output. For example, in situations where theelectronic device determines that the user is in a movie theater, theelectronic device may delay the haptic output until an ambient lightsensor detects increased light. This may correspond to a movie beingfinished, the user leaving the movie theater, and/or other situationswhere the haptic output may no longer be undesirably noticeable toothers.

By way of another example, the electronic device may analyze data frommotion sensors and/or other sensors and determine that the electronicdevice is on a surface that amplifies haptic output such as a hardsurface table top (such by analyzing that the electronic device issubject to very little motion, among other conditions). Amplification ofthe haptic output may not make the haptic output less salient to theuser, but may make the haptic output unpleasant or undesirablynoticeable to others. As such, the electronic device may modifyvibration included in the haptic output to modify how the haptic outputwill be amplified so that the adjusted haptic output will still benoticeable to the user but will not be unpleasant and/or undesirablynoticeable to others.

In various examples, the electronic device may increase and/or decreasesalience of an output based on how the user's cognitive state affectsthe user's situation. For example, the electronic device may determinethe user is engaged in a highly demanding cognitive task, that theuser's attention is focused away from the electronic device, and so on.Based on that determination, the electronic device may determine toincrease salience (e.g., escalate) of the output. Alternatively oradditionally, based on the determination, the electronic device maydetermine to decrease salience (e.g., de-escalate) or delay the outputto avoid distracting the user when the user is involved in a demandingtask or has his attention elsewhere.

FIG. 4 is a flow chart illustrating a second example method 400 forproviding situationally-aware alert output. This second example method400 may be performed by the example system 100 of FIGS. 1-2.

The flow begins at block 410 where an electronic device operates. Theflow then proceeds to block 420 where the electronic device determineswhether or not to provide an alert output (such as a vibration or otherhaptic output, audio output, visual output, and so on). If so, the flowproceeds to block 430. Otherwise, the flow returns to block 410 wherethe electronic device continues to operate.

At block 430, the electronic device evaluates ambient noise in theuser's situation using data from one or more microphones and/or othersensors. The flow then proceeds to block 440.

At block 440, the electronic device determines whether or not to alterthe alert output because of the ambient noise in the user's situation(though in various implementations the electronic device may delay thealert output, such as until the ambient noise changes, rather than alterthe alert output). The electronic device may determine to alter thealert output if the ambient noise in the user's situation exceeds afirst threshold. If not, the flow proceeds to block 450 where theelectronic device provides the alert output before the flow returns toblock 410 and the electronic device continues to operate. Otherwise, theflow proceeds to block 460.

At block 460, after the electronic device determines to alter the alertoutput because of the ambient noise in the user's situation, theelectronic device increases the alert output. The flow then proceeds toblock 470 where the electronic device provides the increased alertoutput.

The flow then proceeds to block 480 where the electronic devicedetermines whether or not to provide other output. Such other output maybe haptic output, visual output provided via a visual output device,audio output provided via an audio output device, output provided byanother electronic device with which the electronic device communicates,and/or any other output. The electronic device may determine to providethe other output if the ambient noise in the user's environment exceedsboth the first and a second threshold. If not, the flow returns to block410 and the electronic device continues to operate. Otherwise, the flowproceeds to block 490.

At block 490, after the electronic device determines to provide otheroutput, the electronic device provides the other output. The flow thenreturns to block 410 and the electronic device continues to operate.Additionally and/or alternatively, the other output may be adjustedbased on the user's situation in addition to and/or instead of adjustingthe alert output.

Although the example method 400 is illustrated and described asincluding particular operations performed in a particular order, it isunderstood that this is an example. In various implementations, variousorders of the same, similar, and/or different operations may beperformed without departing from the scope of the present disclosure.

For example, the example method 400 is illustrated and described asdetermining whether or not to increase the alert output based on ambientnoise the user's situation. However, in some implementations, theelectronic device may determine whether or not to decrease the alertoutput based on ambient noise the user's situation.

By way of example, the electronic device may analyze ambient noise inthe user's situation and determine that the alert output may be toonoticeable based on the user's situation having below a threshold amountof ambient noise. In response, the electronic device may decrease thealert output to make the alert output more suited for the user'ssituation while still allowing the alert output to remain salient.

Further, the example method 400 is illustrated and described asdetermining to alter the alert output and/or provide other output basedon comparison of ambient noise to first and second thresholds. However,it is understood that this is an illustration. In various examples,provided alerts may be varied continuously in response to a continuousscale of ambient noise.

FIG. 5 is a flow chart illustrating a third example method 500 forproviding situationally-aware alert output. This third example method500 may be performed by the example system 100 of FIGS. 1-2.

The flow begins at block 510 where an electronic device operates. Theflow then proceeds to block 520 where the electronic device determineswhether or not to provide an alert output (such as a vibration or otherhaptic output, audio output, visual output, and so on). If so, the flowproceeds to block 530. Otherwise, the flow returns to block 510 wherethe electronic device continues to operate.

At block 530, the electronic device determines whether or not the useris moving. The electronic device may utilize signals from one or moreaccelerometers, gyroscopes, inertial sensors, communication components,barometric or other pressure sensors, altimeters, magnetometers, and/orother sensors to determine whether or not the user is moving. If not,the flow proceeds to block 540 where the electronic device provides thealert output before the flow returns to block 510 and the electronicdevice continues to operate. Otherwise, the flow proceeds to block 550.

At block 550, the electronic device determines a movement pattern of theuser using the signals from the one or more sensors. The electronicdevice may determine a variety of different data about the user'smovement pattern. The movement pattern may include a cadence of theuser's movement pattern, a heart rate or other health data of the userrelated to the movement pattern, whether or not the user is changingelevation (such as ascending and/or descending, the rate of change, andso on), a speed of the user's movement pattern, and/or any other suchinformation about the pattern of the user's movement.

The flow then proceeds to block 560 where the electronic device adjuststhe alert output (such as by adjusting the alert output, which mayinclude delaying the alert output, altering one or more parameters ofthe alert output, and so on) based on the user's movement pattern bydelaying or altering the alter output. In some implementations,adjusting the alert output may include delaying the alert output. Thealert output may be delayed until the movement stops or the electronicdevice estimates the movement will stop, until a user who has beendetermined (such as using a pressure sensor) to be changing elevation(such as walking up stairs or a ramp, riding an escalator or anelevator, and so on) ceases changing elevation or the electronic deviceestimates the user will stop changing elevation, until the electronicdevice estimates the alert output will be salient despite the movement,until a user's heart rate or other health data of the user related tothe movement reduces or otherwise changes, a specific time interval(such as thirty seconds), and so on.

In implementations where adjusting the alert output includes delayingthe alert output by a period of time, the electronic device may delayfor different periods of time based on a variety of factors. Forexample, the electronic device may determine based on the movementpattern that the electronic device will be less proximate to a userafter a first period of time (such as five seconds) and more proximateto the user after a second period of time (such as ten seconds), such aswhere the electronic device is located in the user's pocket and thuslymoving within the pocket closer to and further from the user as part ofthe movement pattern. In such an example, the electronic device maydelay the alert output by the second period of time.

By way of a second example, the electronic device may determine a typeof motion based on the movement pattern, such as running motion, walkingmotion, stair climbing motion, dancing motion, driving motion, and soon. The processing unit may delay the alert output different periodsbased on the type of motion. In some examples, the processing unit maydelay the alert output by a first period (such as twenty seconds) whenthe movement pattern indicates a first type of motion (such as walkingmotion) and by a second period (such as forty seconds) when the movementpattern indicates a second type of motion (such as running motion).

In various implementations, the electronic device may estimate a timewhen the alert output will be salient despite the movement, such aswhere the movement pattern indicates the movement will pause. In such animplementation, the electronic device may delay until that time.

In other implementations, adjusting the alert output may includealtering the alert output to be discernible despite the movement patternbased on a cadence of the user and alter the alert output basedthereupon. In such implementations, the electronic device may determinea cadence of the movement pattern. A cadence of a movement pattern mayinvolve the rhythm of body parts such as legs involved in the motion,the rate at which they move, and so on.

For example, the electronic device may alter a pattern of the alertoutput (such as the waveform of haptic output) to be mismatched with thecadence. As the altered alert output is mismatched to the cadence of themovement pattern, the altered alert output may be more salient despitethe movement.

By way of another example, the cadence of the movement pattern mayinvolve pauses in motion. The electronic device may alter the alertoutput by time shifting the alert output to such a pause in the cadence.

In numerous examples, the processing unit may alter the alert output indifferent manners based on the type of motion. In some examples, theprocessing unit may alter the alert output in a first manner when themovement pattern indicates a first type of motion (such as drivingmotion) and in a second manner when the movement pattern indicates asecond type of motion (such as flying motion). Although these examplesare described as altering alert output in a first manner for a firsttype of motion and in a second manner for a second type of motion, it isunderstood that this is an illustration. In various examples, alertoutput may be continuously varied based on a continuous scale of motion.

In various examples, the alert output may be provided in response to anincoming communication such as an email, text message, phone call, andso on. The incoming communication may have an associated priority. Sucha priority may be based on a source of the incoming communication (suchas a first priority for communications from very important person or VIPcontacts compared to a second priority for other contacts), a priorityin indicator included in the incoming communication (such as an urgentpriority flag indicating a first priority included in the communicationor normal priority flag indicating a second priority included in thecommunication) or a type of the communication (such as a first priorityfor email communications and a second priority for text messagecommunications). The priority may be user assigned. The electronicdevice may adjust the alert output differently based on the associatedpriority.

For example, the electronic device may delay the alert output if theassociated priority is a first priority and alter the alert output basedon a cadence of the movement if the associated priority is a secondpriority. By way of another example, the electronic device may delay thealert output a first period if the associated priority is a firstpriority and delay the alert output a second period if the associatedpriority is a second priority. By way of still another example, theelectronic device may alter the alert output based on a cadence of themovement in a first manner if the associated priority is a firstpriority and alter the alert output based on a cadence of the movementin a second manner if the associated priority is a second priority.Although this example is described as delaying a first period for afirst priority and a second period for a second priority, it isunderstood that this is an illustration. In various examples, alertoutput may be delayed on a continuous scale for a continuous priorityscale.

After the electronic device adjusts the alert output based on the user'smovement pattern, the flow proceeds to block 570 where the electronicdevice provides the adjusted alert output. The flow then proceeds toblock 580.

At block 580, the electronic device determines whether or not theadjusted alert output has been acknowledged. The electronic device mayprompt for acknowledgement when the adjusted alert output is provided sothat the electronic device can ensure that the provided output wassalient to the user. If so, the flow may return to 510 where theelectronic device continues to operate.

Otherwise, the flow may return to block 570 where the adjusted alertoutput is again provided. The electronic device may continue providingthe adjusted alert output periodically, at intervals, and/or otherwiserepeatedly providing the adjusted alert output until the provided outputis acknowledged.

Although the example method 500 is illustrated and described asincluding particular operations performed in a particular order, it isunderstood that this is an example. In various implementations, variousorders of the same, similar, and/or different operations may beperformed without departing from the scope of the present disclosure.

For example, the example method 500 is illustrated and described as theelectronic device altering the alert output if the electronic device ismoving. However, in some implementations, the electronic device maydetermine that the electronic device is moving and further determinewhether or not the motion will affect salience of the alert output. Insuch an example, the electronic device may alter the alert output if themotion will affect salience and not alter the alert output if the motionwill not affect salience.

By way of another example, the example method 500 is illustrated anddescribed as the electronic device providing the altered alert output ifthe electronic device is moving. However, in some implementations, theelectronic device may determine that another electronic device withwhich it communicates is not moving or is moving in a way that will notaffect salience. In such implementations, the electronic device mayadjust the alert output by signaling the other electronic device toprovide the alert output. For example, a user's smart phone may bemoving significantly while the user is jogging but a user's wearabledevice may not be and the smart phone may signal the wearable device toprovide the alert output.

FIG. 6 is a flow chart illustrating a fourth example method 600 forproviding situationally-aware alert output. This fourth example method600 may be performed by the example system 100 of FIGS. 1-2.

The flow begins at block 610 where an electronic device operates. Theflow then proceeds to block 620 where the electronic device determineswhether or not an incoming communication is received. If so, the flowproceeds to block 630. Otherwise, the flow returns to block 610 wherethe electronic device continues to operate.

At block 630, the electronic device determines whether or not the useris moving. If not, the flow proceeds to block 660 where the electronicdevice provides alert output (such as a vibration or other hapticoutput, audio output, visual output, and so on) before the flow returnsto block 610 and the electronic device continues to operate. Otherwise,the flow proceeds to block 640.

At block 640, the electronic device determines a movement pattern of theuser using the signals from the one or more sensors. Next, the flowproceeds to block 650 where the electronic device determines whether themovement pattern is a first type of movement pattern (such as walking)or a second type of movement pattern (such as running).

If the movement pattern is the first type of movement pattern, the flowproceeds to block 670 where the electronic device delays the alertoutput. The flow then proceeds after the delay to block 660 where theelectronic device provides the alert output.

If the movement pattern is the second type of movement pattern, the flowproceeds to block 680 where the electronic device alters the alertoutput to be discernible despite the movement based on a cadence of themovement pattern. Next, the flow proceeds to block 690 where theelectronic device provides the altered alert output. The flow thenreturns to block 610 where the electronic device continues to operate.

Although the example method 600 is illustrated and described asincluding particular operations performed in a particular order, it isunderstood that this is an example. In various implementations, variousorders of the same, similar, and/or different operations may beperformed without departing from the scope of the present disclosure.

For example, the example method 600 is illustrated and described asadjusting the alert output to account for the movement pattern in afirst way when the movement pattern is a first type of movement and asecond way when the movement pattern is a second type of movement.However, it is understood that this is an example. In variousimplementations, the electronic device may adjust the alert input in avariety of different ways based on a variety of different types ofmovement and/or based on other factors without departing from the scopeof the present disclosure. Alternatively, the alert output may beprovided to the user without adjustment.

Further, the example method 600 is illustrated and described as handlingthe alert output differently based on first or second types of movementpatterns. However, it is understood that this is an illustration. Invarious examples, alert output may be varied continuously in response toa continuous scale of movement patterns.

FIG. 7 is a flow chart illustrating a fifth example method 700 forproviding situationally-aware alert output. This fifth example method700 may be performed by the example system 100 of FIGS. 1-2.

The flow begins at block 710 where an electronic device operates. Theflow then proceeds to block 720 where the electronic device determineswhether or not an incoming notification or communication is received. Ifso, the flow proceeds to block 730. Otherwise, the flow returns to block710 where the electronic device continues to operate.

At block 730, the electronic device determines whether or not the useris moving. If not, the flow proceeds to block 760 where the electronicdevice provides alert output (such as a vibration or other hapticoutput, audio output, visual output, and so on) before the flow returnsto block 710 and the electronic device continues to operate. Otherwise,the flow proceeds to block 740.

At block 740, the electronic device determines a movement pattern of theuser using the signals from the one or more sensors. Next, the flowproceeds to block 750 where the electronic device determines whether theincoming notification or communication is associated with a firstpriority or a second priority.

If the incoming notification or communication is associated with a firstpriority, the flow proceeds to block 770 where the electronic devicedelays the alert output. The flow then proceeds after the delay to block760 where the electronic device provides the alert output.

If the incoming notification or communication is associated with asecond priority, the flow proceeds to block 780 where the electronicdevice alters the alert output to be discernible despite the movementbased on a cadence of the movement pattern. Next, the flow proceeds toblock 790 where the electronic device provides the altered alert output.The flow then returns to block 710 where the electronic device continuesto operate.

Although the example method 700 is illustrated and described asincluding particular operations performed in a particular order, it isunderstood that this is an example. In various implementations, variousorders of the same, similar, and/or different operations may beperformed without departing from the scope of the present disclosure.

For example, the example method 700 is illustrated and described asadjusting the alert output in a first way when the associated priorityis a first priority and a second way when the associated priority is asecond priority. However, it is understood that this is an example. Invarious implementations, the electronic device may adjust the alertoutput in a variety of different ways based on a variety of differentassociated priorities and/or based on other factors without departingfrom the scope of the present disclosure. By way of illustration, alertoutput may be continuously adjusted based on an associated continuouspriority scale. Alternatively, the alert output may be provided to theuser without adjustment.

Although the example methods 300-700 are illustrated and describedseparately, various operations described in the context of one or moreof the example methods 300-700 may be used in one or more of the otherexample methods 300-700. For example, in some implementations, theexample method 700 may include the operation of providing other outputdescribed at 490 of the example method 400. By way of another example,in various implementations, the example method 700 may include theoperation of determining whether or not alert output was acknowledgeddescribed at block 580 of the example method 500.

Although the above describes adjusting alert output for individualalerts, delaying alert output for individual alerts, and/or otherwisehandling alert output for individual alerts, it is understood that theseare examples. In various implementations, output for alerts may bebatched in various ways. For example, alerts associated with receivedhigh-priority communications may be individually output whereas thoseassociated with received low-priority communications may be delayedbefore a single alert is output corresponding to a group of thelow-priority communications. In some implementations of such an example,one or more rules may be applied (such as a user specified rule, adefault rule, and so on) specifying how such batching is handled. By wayof illustration, a rule may specify that a batch notification isprovided no more than once per hour and alerts corresponding to receivedlow-priority communications may be batched according to this rule. Thisbatching may reduce the possibility of over-frequent alerts. Users maylearn or train themselves to ignore over frequent alerts. Thus, reducingthe number of alerts may increase salience of alerts.

As described above and illustrated in the accompanying figures, thepresent disclosure relates to an electronic device that providessituationally-aware alerts that adjusts alert output based on a user'ssituation in order to increase salience of the alert output when theuser's situation merits increased salience. The electronic device maydetermine to provide an alert output, evaluate the user's situationbased on information from one or more sensors, and increase salience byadjusting the alert output based on the user's situation.

In the present disclosure, the methods disclosed may be implemented assets of instructions or software readable by a device. Further, it isunderstood that the specific order or hierarchy of steps in the methodsdisclosed are examples of sample approaches. In other embodiments, thespecific order or hierarchy of steps in the method can be rearrangedwhile remaining within the disclosed subject matter. The accompanyingmethod claims present elements of the various steps in a sample order,and are not necessarily meant to be limited to the specific order orhierarchy presented.

The described disclosure may be provided as a computer program product,or software, that may include a non-transitory machine-readable mediumhaving stored thereon instructions, which may be used to program acomputer system (or other electronic devices) to perform a processaccording to the present disclosure. A non-transitory machine-readablemedium includes any mechanism for storing information in a form (e.g.,software, processing application) readable by a machine (e.g., acomputer). The non-transitory machine-readable medium may take the formof, but is not limited to, a magnetic storage medium (e.g., floppydiskette, video cassette, and so on); optical storage medium (e.g.,CD-ROM); magneto-optical storage medium; read only memory (ROM); randomaccess memory (RAM); erasable programmable memory (e.g., EPROM andEEPROM); flash memory; and so on.

The foregoing description, for purposes of explanation, used specificnomenclature to provide a thorough understanding of the describedembodiments. However, it will be apparent to one skilled in the art thatthe specific details are not required in order to practice the describedembodiments. Thus, the foregoing descriptions of the specificembodiments described herein are presented for purposes of illustrationand description. They are not targeted to be exhaustive or to limit theembodiments to the precise forms disclosed. It will be apparent to oneof ordinary skill in the art that many modifications and variations arepossible in view of the above teachings.

What is claimed is:
 1. An electronic device that providessituationally-aware alerts, comprising: a haptic output device; a sensoroperable to produce a signal indicating information relating to movementof the electronic device; and a processing unit connected to the sensorand the haptic output device that: determines to provide a haptic outputvia the haptic output device; determines a movement pattern using thesignal; and provides the haptic output after a delay; wherein the delayaccounts for the movement pattern.
 2. The electronic device of claim 1,wherein: the movement pattern indicates changes in elevation; and theprocessing unit delays the haptic output until after the changes inelevation.
 3. The electronic device of claim 2, wherein: the sensorincludes a pressure sensor; the processing unit identifies the changesin elevation using the pressure sensor; and the processing unit delaysthe haptic output until the processing unit determines, using thepressure sensor, that the changes in elevation have ceased.
 4. Theelectronic device of claim 1, wherein the processing unit: determines afirst period, using the movement pattern, where the electronic devicewill be less proximate to a user; determines a second period, using themovement pattern, where the electronic device will be more proximate tothe user; and delays the haptic output from the first period to thesecond period.
 5. The electronic device of claim 1, wherein theprocessing unit delays the haptic output: for a first period when themovement pattern indicates a first type of movement; and for a secondperiod when the movement pattern indicates a second type of movement. 6.The electronic device of claim 1, wherein: the signal includesinformation indicating a heart rate of a user is elevated; and theprocessing unit delays the haptic output until the heart rate of theuser reduces.
 7. The electronic device of claim 1, wherein theprocessing unit: estimates a time when the haptic output will be salientdespite the movement pattern; and delays the haptic output until thetime.
 8. An electronic device that provides situationally-aware alerts,comprising: a haptic output device; a sensor that indicates movement ofthe electronic device; and a processing unit connected to the sensor andthe haptic output device that is configured to: determine to provide ahaptic output via the haptic output device; uses the sensor to determinea movement pattern that has a cadence; and adjust the haptic output toaccount for the movement pattern by delaying the haptic output so thatthe haptic output mismatches the cadence.
 9. The electronic device ofclaim 8, wherein: the processing unit provides the haptic output inresponse to an incoming message; the haptic output is a first hapticoutput when the incoming message is associated with a first priority;and the haptic output is a second haptic output when the incomingmessage is associated with a second priority.
 10. The electronic deviceof claim 9, wherein: the processing unit determines that the incomingmessage is associated with the first priority when a sender of theincoming message is associated with a first group of senders; and theprocessing unit determines that the incoming message is associated withthe second priority when a sender of the incoming message is associatedwith a second group of senders.
 11. The electronic device of claim 8,wherein: the processing unit determines that the incoming message isassociated with the first priority when a sender of the incoming messageis associated with a first type of communication; and the processingunit determines that the incoming message is associated with the secondpriority when a sender of the incoming message is associated with asecond type of communication.
 12. The electronic device of claim 8,wherein: the processing unit determines that the incoming message isassociated with the first priority when a sender of the incoming messageis associated with a first communication source; and the processing unitdetermines that the incoming message is associated with the secondpriority when a sender of the incoming message is associated with asecond communication source.
 13. The electronic device of claim 8,wherein: the haptic output is a first haptic output; and the processingunit provides a second haptic output upon determining thanacknowledgement to the first haptic output has not been received.
 14. Anelectronic device that provides situationally-aware alerts, comprising:a haptic output device; a sensor operable to produce a signal indicatinginformation relating to movement of the electronic device; and aprocessing unit connected to the sensor and the haptic output devicethat is configured to: determine to provide a haptic output via thehaptic output device; determine a movement pattern using the signal; andadjust the haptic output to account for the movement pattern by delayingthe haptic output so that the electronic device is likely adjacent abody during the movement pattern when the haptic output is provided. 15.The electronic device of claim 8, wherein the processing unit:determines that an acknowledgement of the haptic output has not beenreceived; and provides an additional output.
 16. The electronic deviceof claim 8, wherein the processing unit adjusts the haptic output byproviding a different waveform.
 17. The electronic device of claim 8,wherein the processing unit adjusts the haptic output by altering anamplitude of a waveform.
 18. The electronic device of claim 8, whereinthe processing unit adjusts the haptic output by phase shifting awaveform.
 19. The electronic device of claim 8, wherein the processingunit monitors the signal over a period of time in order to determine themovement pattern.
 20. The electronic device of claim 8, wherein themovement pattern corresponds to movement of the electronic device.